# 数据配置
DATASET_FACTOR = 1

# 路径配置
DATA_DIR = "../../data"
MODEL_DIR = "../../model"
OUTPUT_DIR = "../../output"
TEMP_DIR = "../../temp"
LOG_DIR = "../../logs"

# 文件路径配置
FEATURE_DATA_PATH = f"{TEMP_DIR}/feature.csv"
TRAIN_DATA_PATH = f"{DATA_DIR}/train.csv"
TEST_DATA_PATH = f"{DATA_DIR}/test.csv"
RESULT_PATH = f"{OUTPUT_DIR}/result.csv"
# TRAIN_DATA_PATH = f"{DATA_DIR}/simulated-train.csv"
# TEST_DATA_PATH = f"{DATA_DIR}/simulated-test.csv"
# RESULT_PATH = f"{OUTPUT_DIR}/simulated-result.csv"

# 模型配置
MODEL_PARAMS = {
    "LSTM": {
        "hidden_size": 512,  # 确保可以被attention heads整除
        "num_layers": 4,
        "dropout": 0.2
    },
    "Transformer": {
        "d_model": 512,      # 确保可以被num_heads整除
        "nhead": 8,          # 512 / 8 = 64，可以整除
        "num_layers": 4,
        "dropout": 0.2
    },
    "TCN": {
        "num_channels": [128, 256, 512],
        "kernel_size": 2,
        "dropout": 0.2
    }
}

# 训练配置
TRAINING_PARAMS = {
    "num_epochs": 20,
    "validation_split": 0.2,
    "batch_size": 32,
    "learning_rate": 0.0001,
    "device": "auto"  # auto, cpu, cuda
}
